package com.example.program

import org.junit.Test
import java.util.Scanner


/**
 * 测试回文数
 * 输入的数字是整形数，如果数字倒过来仍然与原来的值相等，则是回文数
 * 例如：121是回文数，
 * -121不是回文数
 *
 * @author zhouronghua
 * @time 2022/3/6 8:21 下午
 */
object HuiWenTest {

    /**
     * 判断回文数
     * 思路：
     * 将数字转换为字符串进行比较
     *
     * @author zhouronghua
     * @time 2022/3/6 8:30 下午
     */
    fun Palindrome(num: Int): Boolean {
        val str = num.toString()
        var middle = str.length / 2
        val len = str.length
        var isPalin = true
        for (index in 0 until middle) {
            if (str.get(index) != str.get(len - 1 - index)) {
                // 如果对应的数字值不相等则不是回文数
                isPalin = false
                break
            }
        }
        return isPalin
    }

    @Test
    fun testPalindrome() {
        println("输入内容")
        while (true) {
            val str = readLine()
            str?.let {
                val num = it.toInt()
                println(Palindrome(num))
            }
        }
    }

    @JvmStatic
    fun main(args: Array<String>) {
        println("输入内容")
        while (true) {
            val input = readLine()
            input?.let {
                val num = it.toInt()
                println(Palindrome(num))
            }
        }
        val scanner = Scanner(System.`in`)
        while (true) {
            val num = scanner.nextInt()
            num?.let {
                println(Palindrome(num))
            }
        }
    }

}